package controleponto.db.dao;

import java.util.List;

import javax.persistence.TypedQuery;
import javax.persistence.criteria.CriteriaBuilder;
import javax.persistence.criteria.CriteriaQuery;
import javax.persistence.criteria.Root;

import controleponto.db.model.MarcacaoPonto;

public class MarcacaoPontoDAO extends EntityDAO implements IEntityDAO<MarcacaoPonto> {

	@Override
	public void Adiciona(MarcacaoPonto item) {
		AdicionaDAO(item);
	}

	@Override
	public void Atualiza(MarcacaoPonto item) {
		Atualiza(item);
	}

	@Override
	public void Remove(MarcacaoPonto item) {
		RemoveDAO(item);
	}

	@Override
	public List<MarcacaoPonto> ListaTodos() {
		CriteriaBuilder cb = getEntityManager().getCriteriaBuilder();
		CriteriaQuery<MarcacaoPonto> cq = cb.createQuery(MarcacaoPonto.class);
		Root<MarcacaoPonto> root = cq.from(MarcacaoPonto.class);
		cq = cq.select(root);
		TypedQuery<MarcacaoPonto> qr = getEntityManager().createQuery(cq);
		return qr.getResultList();
	}

	@Override
	public MarcacaoPonto getItem(Object filter) {
		return getEntityManager().find(MarcacaoPonto.class, filter);
	}

}
